
const CompressionPlugin = require("compression-webpack-plugin");

module.exports = {
  publicPath: '/',
  configureWebpack: {
    resolve: {
      alias: {
        'assets': '@/assets',
        'components': '@/components',
        'network': '@/network',
        'views': '@/views',
        'router': '@/router',
        'store': '@/store',
        'filters': '@/filters'
      }
    },
    plugins: [
      new CompressionPlugin({
        test: /\.js$|\.html$|\.css$|\.jpg$|\.jpeg$|\.png/, // 需要压缩的文件类型
        threshold: 10240, // 归档需要进行压缩的文件大小最小值，我这个是10K以上的进行压缩
        deleteOriginalAssets: false // 是否删除原文件
      })
    ],
    externals: {
      'vue': 'Vue',
      'vue-router': 'VueRouter',
      'vuex': 'Vuex',
      'axios': 'axios',
      'element-ui': 'ElementUI',
      'highlight': 'hljs'
    }
  },
  
  chainWebpack: config => {
    config
    .plugin("webpack-bundle-analyzer")
    .use(require('webpack-bundle-analyzer').BundleAnalyzerPlugin)
  }
}